'use strict';
var socket_list = {}
/**
 * 用户登录成功,查询是否已登录
 */

/**
 * model
 * @type {Class}
 */
module.exports = class extends think.Model {
  /**
   * 获取socket参数
   * @param {Number} csid 客服ID（可选）
   * @param {Number} type 登录类型（可选）
   */
  getSocket (csid, type) {
    if (!csid) {
      // 没有传入csid 返回完整列表
      return socket_list
    }
    if (!type) {
      // 没有传入 type类型 返回对应csid的对象
      return socket_list[csid] || {}
    }
    socket_list[csid] = socket_list[csid] || {}
    return socket_list[csid][type] || null
  }
  /**
   * 设置在list里面设置socket
   * @param {Number} csid 客服ID
   * @param {Number} type 登录类型
   * @param {Socket} socket Socket对象
   */
  setSocket (csid, type, socket) {
    if (!csid || !type || !socket) {
      // 传入参数不正确
      return {
        status: -1,
        msg: '传入参数不正确'
      }
    }
    socket_list[csid] = socket_list[csid] || {}
    socket_list[csid][type] = socket
    return {
      status: 1,
      msg: 'Socket设置成功！'
    }
  }
  /**
   * 设置在list里面删除socket
   * @param {Number} csid 客服ID
   * @param {Number} type 登录类型
   */
  delSocket (csid, type) {
    if (!csid || !type) {
      // 传入参数不正确
      return {
        status: -1,
        msg: '传入参数不正确'
      }
    }
    socket_list[csid] = socket_list[csid] || {}
    socket_list[csid][type] = undefined
    return {
      status: 1,
      msg: 'Socket删除成功！'
    }
  }
}